Skip to content

Add a checked-in structural knowledge graph of the repo - #4

Merged
adigo-pro merged 2 commits into
adigo-pro:mainfrom
yalexie1:add-knowledge-graph
Aug 2, 2026
Merged

Add a checked-in structural knowledge graph of the repo#4
adigo-pro merged 2 commits into
adigo-pro:mainfrom
yalexie1:add-knowledge-graph

Conversation

@yalexie1

@yalexie1 yalexie1 commented Aug 2, 2026

Copy link
Copy Markdown
Contributor

Adds .ua/knowledge-graph.json — a structural map of the repo generated by the Understand-Anything plugin over 169 files at b5ab84c.

554 nodes (236 function, 144 class, 103 file, 42 document, 23 config, 5 concept, 1 pipeline)
1239 edges (407 contains, 215 exports, 169 imports, 163 calls, 123 documents, 74 related, 51 tested_by, 21 configures, 11 depends_on, 3 triggers, 2 deploys)
10 layers — Documentation 42, Measurement 26, Testing 26, Presentation 23, Critic 17, Delivery 11, Reflection 9, Observation 8, CI/CD 7, Core Substrate 5
14-step guided tour walking observer → critic → hooks → reflector in data-flow order

Why check in a generated file

Producing it is the expensive part — 18 batches of model-driven file analysis. Reading it is free. With the plugin installed, /understand-dashboard opens it as an interactive graph in seconds; without it, the JSON is plain (project, nodes, edges, layers, tour). Committing the result means nobody pays to regenerate what's already been computed.

What's included and why

File
knowledge-graph.json (580K) the graph
meta.json pins the commit the graph describes, so staleness is visible rather than silent
.understandignore records the analysis scope — .codecouncil/ runtime data excluded, docs/ and tests/ deliberately kept — so a re-run reproduces this scoping instead of picking its own
fingerprints.json (256K) lets a refresh re-analyze only changed files instead of escalating to a full rebuild
intermediate/scan-result.json lets a refresh skip the scan phase

Build scratch (.ua/.trash-*/, 3.7M) is not tracked; the second commit adds a .gitignore line for it so a refresh doesn't leave untracked noise in everyone's tree.

CONTRIBUTING.md gains a short Architecture map section covering what the graph is, how to open it, and that it's a commit-pinned snapshot rather than a live view.

Notes

  • It is a snapshot. It describes b5ab84c and lags the working tree between refreshes. meta.json makes that checkable.
  • No behaviour change. Data and docs only — no loop, hook, or test code is touched, and the stdlib-only invariant is untouched.
  • Contents were scanned for credentials and absolute local paths before committing; all paths are repo-relative.

🤖 Generated with Claude Code

yalexie1 and others added 2 commits August 2, 2026 07:38
Generated by the Understand-Anything plugin over 169 files at b5ab84c:
554 nodes (file/class/function/document/config), 1239 edges (imports,
calls, contains, tested_by), 10 architectural layers, and a 14-step
guided tour that walks the observer -> critic -> hooks -> reflector loop
in data-flow order.

The analysis itself is expensive — 18 batches of model-driven file
analysis. Committing the result means anyone with the plugin can open it
with /understand-dashboard in seconds instead of paying to regenerate it.

Included beyond the graph itself:
- meta.json pins the commit the graph describes, so staleness is visible
- .understandignore records the analysis scope (.codecouncil/ runtime
  data excluded, docs/ and tests/ deliberately kept) so a re-run
  reproduces this scoping instead of silently choosing its own
- fingerprints.json lets a refresh re-analyze only changed files rather
  than escalating to a full rebuild
- intermediate/scan-result.json lets a refresh skip the scan phase

Build scratch (.ua/.trash-*/, 3.7M) is deliberately not tracked.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
A checked-in graph nobody knows how to open is dead weight, so CONTRIBUTING
now says what it is, how to view it (/understand-dashboard for plugin users,
plain JSON otherwise), and that it is a commit-pinned snapshot rather than a
live view.

Each /understand run leaves a .ua/.trash-<timestamp>/ scratch dir behind —
the plugin moves intermediates aside instead of deleting them, then reclaims
them after 7 days. Ignore them so a refresh does not show up as untracked
noise in everyone's working tree.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@adigo-pro
adigo-pro merged commit bb802ce into adigo-pro:main Aug 2, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants